package com.qf.rbac.sys.service;

import com.qf.rbac.sys.entity.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 菜单管理 服务类
 * </p>
 *
 * @author dongjl
 * @since 2022-04-16
 */
public interface ISysMenuService extends IService<SysMenu> {
    /**
     * 查询当前登录用户拥有的所有菜单
     * @param userId
     * @return 返回菜单数据list。注意：菜单要按照父子关系进行组织，List中的Menu是一级菜单，二级菜单挂在一级菜单的list属性中。
     */
    List<SysMenu> getUserMenuList(Long userId);

    /**
     * 查询指定用户id的所有菜单，不阻止菜单结构，仅仅查询所有菜单数据
     * @param userId
     * @return
     */
    List<SysMenu> queryAllMenuByUserId(Long userId);

    /**
     * 查询指定用户的所有权限字符串
     * @param userId
     * @return
     */
    List<String> queryAllPerms(Long userId);
}
